#ifndef __HALALGDES_H__
#define __HALALGDES_H__

    #define HALALGDES1_MODE_ECB	 0x80000211L
    #define HALALGDES1_MODE_CBC	 0x80000212L
    #define HALALGDES2_MODE_ECB  0x80000221L
    #define HALALGDES2_MODE_CBC  0x80000222L
    #define HALALGDES3_MODE_ECB	 0x80000241L
    #define HALALGDES3_MODE_CBC	 0x80000242L
    
    extern UINT32 HalAlgDES_Init(UINT8 Key[], UINT8 KLen, UINT8 IV[]);
    extern UINT32 HalAlgDES_Encrypt_Update(UINT32 Mode, UINT8 *pInBuf, UINT16 nSize, UINT8 *pOutBuf);
    extern UINT32 HalAlgDES_Decrypt_Update(UINT32 Mode, UINT8 *pInBuf, UINT16 nSize, UINT8 *pOutBuf);
    extern UINT32 HalAlgDES_Final(void);

#endif
